[INFO] fetching crate udo 0.4.0...
[INFO] fixing udo-0.4.0 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=start=2015 for pr-157817-2
[INFO] extracting crate udo 0.4.0 into /workspace/builds/worker-4-tc1/source
[INFO] started tweaking crates.io crate udo 0.4.0
[INFO] finished tweaking crates.io crate udo 0.4.0
[INFO] tweaked toml for crates.io crate udo 0.4.0 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate udo 0.4.0 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate udo 0.4.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded toml v0.9.8
[INFO] [stderr]   Downloaded serde_spanned v1.0.3
[INFO] [stderr]   Downloaded pam-sys v0.5.6
[INFO] [stderr]   Downloaded toml_writer v1.0.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] bbb67c8b029bd240453d2e771bfa7e77b3c8896b8561e48fed646e68146c048e
[INFO] running `Command { std: "docker" "start" "bbb67c8b029bd240453d2e771bfa7e77b3c8896b8561e48fed646e68146c048e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "bbb67c8b029bd240453d2e771bfa7e77b3c8896b8561e48fed646e68146c048e" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bbb67c8b029bd240453d2e771bfa7e77b3c8896b8561e48fed646e68146c048e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "bbb67c8b029bd240453d2e771bfa7e77b3c8896b8561e48fed646e68146c048e" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=start=2015", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling unicode-ident v1.0.20
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]     Checking utf8parse v0.2.2
[INFO] [stderr]     Checking log v0.4.28
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]     Checking anstyle-parse v0.2.7
[INFO] [stderr]     Checking anstyle v1.0.13
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]     Checking anstyle-query v1.1.4
[INFO] [stderr]     Checking colorchoice v1.0.4
[INFO] [stderr]     Checking memchr v2.7.6
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.2
[INFO] [stderr]     Checking slab v0.4.11
[INFO] [stderr]     Checking anstream v0.6.21
[INFO] [stderr]    Compiling nix v0.30.1
[INFO] [stderr]    Compiling convert_case v0.7.1
[INFO] [stderr]     Checking clap_lex v0.7.6
[INFO] [stderr]     Checking winnow v0.7.13
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling syn v2.0.108
[INFO] [stderr]    Compiling pam-sys v0.5.6
[INFO] [stderr]     Checking strsim v0.11.1
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]     Checking clap_builder v4.5.50
[INFO] [stderr]     Checking serde_spanned v1.0.3
[INFO] [stderr]     Checking toml_datetime v0.7.3
[INFO] [stderr]     Checking toml_writer v1.0.4
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]     Checking sdd v3.0.10
[INFO] [stderr]     Checking scc v2.4.0
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking signal-hook-registry v1.4.6
[INFO] [stderr]     Checking mio v1.0.4
[INFO] [stderr]     Checking signal-hook v0.3.18
[INFO] [stderr]     Checking toml_parser v1.0.4
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking signal-hook-mio v0.2.4
[INFO] [stderr]     Checking clap v4.5.50
[INFO] [stderr]     Checking toml v0.9.8
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]    Compiling derive_more-impl v2.0.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling serial_test_derive v3.2.0
[INFO] [stderr]     Checking serial_test v3.2.0
[INFO] [stderr]     Checking derive_more v2.0.1
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking crossterm v0.29.0
[INFO] [stderr]     Checking udo v0.4.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0425]: cannot find type `Gid` in this scope
[INFO] [stdout]    --> src/authenticate.rs:253:55
[INFO] [stdout]     |
[INFO] [stdout] 253 | fn get_supplemental_groups(user: &User) -> Result<Vec<Gid>> {
[INFO] [stdout]     |                                                       ^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]   3 + use nix::unistd::Gid;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::Command`
[INFO] [stdout]  --> src/authenticate.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::process::Command;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WaitStatus`
[INFO] [stdout]  --> src/config.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 |     sys::wait::{WaitStatus, waitpid},
[INFO] [stdout]   |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Theme`
[INFO] [stdout]   --> src/output.rs:17:30
[INFO] [stdout]    |
[INFO] [stdout] 17 |         theme::{OutputStyle, Theme},
[INFO] [stdout]    |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Flag` and `Run`
[INFO] [stdout]   --> src/run/env.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 |     run::{Flag, Run},
[INFO] [stdout]    |           ^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0631]: type mismatch in function arguments
[INFO] [stdout]    --> src/authenticate.rs:256:36
[INFO] [stdout]     |
[INFO] [stdout] 256 |     Ok(getgroups().iter().flat_map(Group::from_gid).flatten())
[INFO] [stdout]     |                           -------- ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |        |
[INFO] [stdout]     |                           |        expected due to this
[INFO] [stdout]     |                           |        found signature defined here
[INFO] [stdout]     |                           required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected function signature `fn(&Vec<Gid>) -> _`
[INFO] [stdout]                found function signature `fn(Gid) -> _`
[INFO] [stdout] note: required by a bound in `flat_map`
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:1533:4
[INFO] [stdout] help: consider wrapping the function in a closure
[INFO] [stdout]     |
[INFO] [stdout] 256 |     Ok(getgroups().iter().flat_map(|arg0: &Vec<Gid>| Group::from_gid(/* Gid */)).flatten())
[INFO] [stdout]     |                                    +++++++++++++++++                +++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `flatten` exists for struct `FlatMap<Iter<'_, Vec<Gid>>, _, fn(Gid) -> ... {...::from_gid}>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/authenticate.rs:256:53
[INFO] [stdout]     |
[INFO] [stdout] 256 |     Ok(getgroups().iter().flat_map(Group::from_gid).flatten())
[INFO] [stdout]     |                                                     ^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<fn(Gid) -> Result<std::option::Option<Group>, Errno> {Group::from_gid} as FnOnce<(&Vec<Gid>,)>>::Output = _`
[INFO] [stdout]             which is required by `FlatMap<std::result::Iter<'_, Vec<Gid>>, _, fn(Gid) -> Result<std::option::Option<Group>, Errno> {Group::from_gid}>: Iterator`
[INFO] [stdout]             `fn(Gid) -> Result<std::option::Option<Group>, Errno> {Group::from_gid}: FnMut<(&Vec<Gid>,)>`
[INFO] [stdout]             which is required by `FlatMap<std::result::Iter<'_, Vec<Gid>>, _, fn(Gid) -> Result<std::option::Option<Group>, Errno> {Group::from_gid}>: Iterator`
[INFO] [stdout]             `FlatMap<std::result::Iter<'_, Vec<Gid>>, _, fn(Gid) -> Result<std::option::Option<Group>, Errno> {Group::from_gid}>: Iterator`
[INFO] [stdout]             which is required by `&mut FlatMap<std::result::Iter<'_, Vec<Gid>>, _, fn(Gid) -> Result<std::option::Option<Group>, Errno> {Group::from_gid}>: Iterator`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/udo-ec545a1c34586bd1.long-type-15426892788024831990.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Gid` in this scope
[INFO] [stdout]    --> src/authenticate.rs:253:55
[INFO] [stdout]     |
[INFO] [stdout] 253 | fn get_supplemental_groups(user: &User) -> Result<Vec<Gid>> {
[INFO] [stdout]     |                                                       ^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]   3 + use nix::unistd::Gid;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::Command`
[INFO] [stdout]  --> src/authenticate.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::process::Command;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WaitStatus`
[INFO] [stdout]  --> src/config.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 |     sys::wait::{WaitStatus, waitpid},
[INFO] [stdout]   |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Theme`
[INFO] [stdout]   --> src/output.rs:17:30
[INFO] [stdout]    |
[INFO] [stdout] 17 |         theme::{OutputStyle, Theme},
[INFO] [stdout]    |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Flag` and `Run`
[INFO] [stdout]   --> src/run/env.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 |     run::{Flag, Run},
[INFO] [stdout]    |           ^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `User` has no field named `change`
[INFO] [stdout]    --> src/run/env.rs:191:13
[INFO] [stdout]     |
[INFO] [stdout] 191 |             change: i64::default(),
[INFO] [stdout]     |             ^^^^^^ `User` does not have this field
[INFO] [stdout]     |
[INFO] [stdout]     = note: all struct fields are already assigned
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `User` has no field named `class`
[INFO] [stdout]    --> src/run/env.rs:193:13
[INFO] [stdout]     |
[INFO] [stdout] 193 |             class: CString::default(),
[INFO] [stdout]     |             ^^^^^ `User` does not have this field
[INFO] [stdout]     |
[INFO] [stdout]     = note: all struct fields are already assigned
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `User` has no field named `expire`
[INFO] [stdout]    --> src/run/env.rs:194:13
[INFO] [stdout]     |
[INFO] [stdout] 194 |             expire: i64::default(),
[INFO] [stdout]     |             ^^^^^^ `User` does not have this field
[INFO] [stdout]     |
[INFO] [stdout]     = note: all struct fields are already assigned
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/authenticate/pam.rs:129:23
[INFO] [stdout]     |
[INFO] [stdout] 129 |             .map_err(|e| AuthError::new(AuthErrorKind::InvalidInput, "invalid service"))?;
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/authenticate/pam.rs:127:23
[INFO] [stdout]     |
[INFO] [stdout] 127 |             .map_err(|e| AuthError::new(AuthErrorKind::InvalidInput, "invalid password"))?;
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/authenticate/pam.rs:125:23
[INFO] [stdout]     |
[INFO] [stdout] 125 |             .map_err(|e| AuthError::new(AuthErrorKind::InvalidInput, "invalid username"))?;
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h`
[INFO] [stdout]    --> src/authenticate.rs:100:17
[INFO] [stdout]     |
[INFO] [stdout] 100 |             let h = other.host.as_ref().unwrap();
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h`
[INFO] [stdout]    --> src/authenticate.rs:105:22
[INFO] [stdout]     |
[INFO] [stdout] 105 |                 Some(h) => true,
[INFO] [stdout]     |                      ^ help: if this is intentional, prefix it with an underscore: `_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/authenticate.rs:114:21
[INFO] [stdout]     |
[INFO] [stdout] 114 |                 let v = v.clone();
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/authenticate.rs:115:59
[INFO] [stdout]     |
[INFO] [stdout] 115 |                 matches!(&other.do_as, ActionValue::Value(v))
[INFO] [stdout]     |                                                           ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0631]: type mismatch in function arguments
[INFO] [stdout]    --> src/authenticate.rs:256:36
[INFO] [stdout]     |
[INFO] [stdout] 256 |     Ok(getgroups().iter().flat_map(Group::from_gid).flatten())
[INFO] [stdout]     |                           -------- ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |        |
[INFO] [stdout]     |                           |        expected due to this
[INFO] [stdout]     |                           |        found signature defined here
[INFO] [stdout]     |                           required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected function signature `fn(&Vec<Gid>) -> _`
[INFO] [stdout]                found function signature `fn(Gid) -> _`
[INFO] [stdout] note: required by a bound in `flat_map`
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:1533:4
[INFO] [stdout] help: consider wrapping the function in a closure
[INFO] [stdout]     |
[INFO] [stdout] 256 |     Ok(getgroups().iter().flat_map(|arg0: &Vec<Gid>| Group::from_gid(/* Gid */)).flatten())
[INFO] [stdout]     |                                    +++++++++++++++++                +++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `flatten` exists for struct `FlatMap<Iter<'_, Vec<Gid>>, _, fn(Gid) -> ... {...::from_gid}>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/authenticate.rs:256:53
[INFO] [stdout]     |
[INFO] [stdout] 256 |     Ok(getgroups().iter().flat_map(Group::from_gid).flatten())
[INFO] [stdout]     |                                                     ^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `<fn(Gid) -> Result<std::option::Option<Group>, Errno> {Group::from_gid} as FnOnce<(&Vec<Gid>,)>>::Output = _`
[INFO] [stdout]             which is required by `FlatMap<std::result::Iter<'_, Vec<Gid>>, _, fn(Gid) -> Result<std::option::Option<Group>, Errno> {Group::from_gid}>: Iterator`
[INFO] [stdout]             `fn(Gid) -> Result<std::option::Option<Group>, Errno> {Group::from_gid}: FnMut<(&Vec<Gid>,)>`
[INFO] [stdout]             which is required by `FlatMap<std::result::Iter<'_, Vec<Gid>>, _, fn(Gid) -> Result<std::option::Option<Group>, Errno> {Group::from_gid}>: Iterator`
[INFO] [stdout]             `FlatMap<std::result::Iter<'_, Vec<Gid>>, _, fn(Gid) -> Result<std::option::Option<Group>, Errno> {Group::from_gid}>: Iterator`
[INFO] [stdout]             which is required by `&mut FlatMap<std::result::Iter<'_, Vec<Gid>>, _, fn(Gid) -> Result<std::option::Option<Group>, Errno> {Group::from_gid}>: Iterator`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/udo-4cbc1c902ebe773d.long-type-1218889930275066003.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/config.rs:191:29
[INFO] [stdout]     |
[INFO] [stdout] 191 | fn edit_child(editor: &str, path: &Path, context: UserContext) -> Result<()> {
[INFO] [stdout]     |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]    --> src/output/prompt.rs:126:51
[INFO] [stdout]     |
[INFO] [stdout] 126 | ...                   if let Some((idx, c)) = to_remove {
[INFO] [stdout]     |                                         ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/output.rs:284:39
[INFO] [stdout]     |
[INFO] [stdout] 284 | pub fn not_authenticated(user: &User, config: &Config) {
[INFO] [stdout]     |                                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `status`
[INFO] [stdout]   --> src/run/process.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |         Ok(status) => exit(1),
[INFO] [stdout]    |            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_status`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user2`
[INFO] [stdout]    --> src/user.rs:125:13
[INFO] [stdout]     |
[INFO] [stdout] 125 |         let user2 = get_user(&user.name).expect("Could not get user by name");
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_user2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0560, E0599, E0631.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `udo` (bin "udo" test) due to 6 previous errors; 16 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/authenticate/pam.rs:129:23
[INFO] [stdout]     |
[INFO] [stdout] 129 |             .map_err(|e| AuthError::new(AuthErrorKind::InvalidInput, "invalid service"))?;
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/authenticate/pam.rs:127:23
[INFO] [stdout]     |
[INFO] [stdout] 127 |             .map_err(|e| AuthError::new(AuthErrorKind::InvalidInput, "invalid password"))?;
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/authenticate/pam.rs:125:23
[INFO] [stdout]     |
[INFO] [stdout] 125 |             .map_err(|e| AuthError::new(AuthErrorKind::InvalidInput, "invalid username"))?;
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h`
[INFO] [stdout]    --> src/authenticate.rs:100:17
[INFO] [stdout]     |
[INFO] [stdout] 100 |             let h = other.host.as_ref().unwrap();
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h`
[INFO] [stdout]    --> src/authenticate.rs:105:22
[INFO] [stdout]     |
[INFO] [stdout] 105 |                 Some(h) => true,
[INFO] [stdout]     |                      ^ help: if this is intentional, prefix it with an underscore: `_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/authenticate.rs:114:21
[INFO] [stdout]     |
[INFO] [stdout] 114 |                 let v = v.clone();
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/authenticate.rs:115:59
[INFO] [stdout]     |
[INFO] [stdout] 115 |                 matches!(&other.do_as, ActionValue::Value(v))
[INFO] [stdout]     |                                                           ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/config.rs:191:29
[INFO] [stdout]     |
[INFO] [stdout] 191 | fn edit_child(editor: &str, path: &Path, context: UserContext) -> Result<()> {
[INFO] [stdout]     |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]    --> src/output/prompt.rs:126:51
[INFO] [stdout]     |
[INFO] [stdout] 126 | ...                   if let Some((idx, c)) = to_remove {
[INFO] [stdout]     |                                         ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/output.rs:284:39
[INFO] [stdout]     |
[INFO] [stdout] 284 | pub fn not_authenticated(user: &User, config: &Config) {
[INFO] [stdout]     |                                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `status`
[INFO] [stdout]   --> src/run/process.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |         Ok(status) => exit(1),
[INFO] [stdout]    |            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_status`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0599, E0631.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `udo` (bin "udo") due to 3 previous errors; 15 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "bbb67c8b029bd240453d2e771bfa7e77b3c8896b8561e48fed646e68146c048e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bbb67c8b029bd240453d2e771bfa7e77b3c8896b8561e48fed646e68146c048e", kill_on_drop: false }`
[INFO] [stdout] bbb67c8b029bd240453d2e771bfa7e77b3c8896b8561e48fed646e68146c048e
